<?php
    if (!$_POST) {
    	if (defined('PARAMETRO_2')) {
    		$filtro 	=	PARAMETRO_2;
    	}
		else {
			$filtro		=	"todos";
		}
		
		if ($filtro != 'buscaavancada') {
			unset($_SESSION['constructore']['buscaAvancadaUsuarios']);
		}
		
		if (defined('PARAMETRO_3')) {
			$ordena =	PARAMETRO_3;
		}
		else {
			$ordena	=	"ordenanome";
		}
		
		if (defined('PARAMETRO_4')) {
			$ordem 	=	PARAMETRO_4;
			
			if ($ordem != 'asc' && $ordem != 'desc') {
				redireciona(array('404'));
				exit;
			}
		}
		else {
			$ordem	=	"asc";
		}
		
		if (defined('PARAMETRO_5')) {
			$paginaAtual	=	intval(str_replace('pagina', '', PARAMETRO_5));
		}
		else {
			$paginaAtual 	=	1;
		}
		
		$strInputBuscaUsuarios 	=	"";
		
		if (defined('PARAMETRO_6')) {
			if ($filtro == 'busca') {
				$strBusca	=	codificaString(urldecode(PARAMETRO_6));
				$strInputBuscaUsuarios	=	$_SESSION['constructore']['buscaAdministracaoUsuarios'];
				if (codificaString($strInputBuscaUsuarios) != $strBusca) {
					$strInputBuscaUsuarios 	=	str_replace('-', ' ', urldecode(PARAMETRO_6));
					$_SESSION['constructore']['buscaAdministracaoUsuarios']	=	$strInputBuscaUsuarios;
				}
			}
			else {
				if ($filtro == 'buscaavancada') {
					
					foreach ($_GET as $chave => $get) {
						$_GET[$chave]	=	str_replace('/', '', $get);
					}
					
					$strNome				=	codificaString(urldecode($_GET['nome']));
					$strEmail				=	codificaString(urldecode($_GET['email']));
					$comFoto				=	codificaString(urldecode($_GET['foto']));
					$strSexo 				=	codificaString(urldecode($_GET['sexo']));
					$strEstado 				=	codificaString(urldecode($_GET['estado']));
					$strCursoConstructore	=	codificaString(urldecode($_GET['cursoconstructore']));
					$strInstituicao			=	codificaString(urldecode($_GET['instituicao']));
					$tipoCadastro			=	codificaString(urldecode($_GET['tipocadastro']));
					$dataCadastro1			=	explode('-', codificaString(urldecode($_GET['datacadastro1'])));
					$dataCadastro2			=	explode('-', codificaString(urldecode($_GET['datacadastro2'])));
					$ultimoLogin1			=	explode('-', codificaString(urldecode($_GET['ultimologin1'])));
					$ultimoLogin2			=	explode('-', codificaString(urldecode($_GET['ultimologin2'])));
					
					$strNivel 			=	null;
					$strCursoGraduacao 	=	null;
					$intPeriodo			=	null;
					
					$strInstituto 		=	null;
					$strDepartamento 	=	null;
					$strTitulacao 		=	null;
					
					if ($tipoCadastro != 'qualquer') {
						if ($tipoCadastro == 'aluno') {
							$strNivel 			=	codificaString(urldecode($_GET['nivel']));
							$strCursoGraduacao 	=	codificaString(urldecode($_GET['cursograduacao']));
							$intPeriodo			=	codificaString(urldecode($_GET['periodo']));
						}
						else {
							$strInstituto 		=	codificaString(urldecode($_GET['instituto']));
							$strDepartamento 	=	codificaString(urldecode($_GET['departamento']));
							$strTitulacao		=	codificaString(urldecode($_GET['titulacao']));
						}
					}
					
					if ($_GET['datacadastro1'] != '') {
						$dataCadastroDia1 		=	$dataCadastro1[2];
						$dataCadastroMes1 		=	$dataCadastro1[1];
						$dataCadastroAno1 		=	$dataCadastro1[0];
					}
					else {
						$dataCadastroDia1 		=	'';
						$dataCadastroMes1 		=	'';
						$dataCadastroAno1 		=	'';
					}
					
					if ($_GET['datacadastro2'] != '') {
						$dataCadastroDia2 		=	$dataCadastro2[2];
						$dataCadastroMes2 		=	$dataCadastro2[1];
						$dataCadastroAno2 		=	$dataCadastro2[0];
					}
					else {
						$dataCadastroDia2 		=	'';
						$dataCadastroMes2 		=	'';
						$dataCadastroAno2 		=	'';
					}
					
					if ($_GET['ultimologin1'] != '') {
						$ultimoLoginDia1 		=	$ultimoLogin1[2];
						$ultimoLoginMes1 		=	$ultimoLogin1[1];
						$ultimoLoginAno1 		=	$ultimoLogin1[0];
					}
					else {
						$ultimoLoginDia1 		=	'';
						$ultimoLoginMes1 		=	'';
						$ultimoLoginAno1 		=	'';
					}
					
					if ($_GET['ultimologin2'] != '') {
						$ultimoLoginDia2 		=	$ultimoLogin2[2];
						$ultimoLoginMes2 		=	$ultimoLogin2[1];
						$ultimoLoginAno2 		=	$ultimoLogin2[0];
					}
					else {
						$ultimoLoginDia2 		=	'';
						$ultimoLoginMes2 		=	'';
						$ultimoLoginAno2 		=	'';
					}
					
					$dataCadastro1 			=	implode('-', $dataCadastro1);
					$dataCadastro2 			=	implode('-', $dataCadastro2);
					$ultimoLogin1 			=	implode('-', $ultimoLogin1);
					$ultimoLogin2 			=	implode('-', $ultimoLogin2);
					
					if ($strNome != codificaString($_SESSION['constructore']['buscaAvancadaUsuarios']['nome'])) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['nome']	=	str_replace('-', ' ', $strNome);
					}
					
					if ($strEmail != codificaString($_SESSION['constructore']['buscaAvancadaUsuarios']['email'])) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['email']	=	str_replace('-', ' ', $strEmail);
					}
					
					if ($comFoto != $_SESSION['constructore']['buscaAvancadaUsuarios']['foto']) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['foto']	=	$comFoto;
					}
					
					if ($strSexo != $_SESSION['constructore']['buscaAvancadaUsuarios']['sexo']) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['sexo']	=	$strSexo;
					}
					
					if ($strEstado != $_SESSION['constructore']['buscaAvancadaUsuarios']['estado']) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['estado']	=	$strEstado;
					}
					
					if ($strCursoConstructore != codificaString($_SESSION['constructore']['buscaAvancadaUsuarios']['cursoConstructore'])) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['cursoConstructore']	=	str_replace('-', ' ', $strCursoConstructore);
					}
					
					if ($strInstituicao != codificaString($_SESSION['constructore']['buscaAvancadaUsuarios']['instituicao'])) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['instituicao']	=	str_replace('-', ' ', $strInstituicao);
					}
					
					if ($tipoCadastro != $_SESSION['constructore']['buscaAvancadaUsuarios']['tipoCadastro']) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['tipoCadastro']	=	str_replace('-', ' ', $tipoCadastro);
					}
					
					if ($dataCadastroDia1 != $_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroDia1']) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroDia1']	=	$dataCadastroDia1;
					}
					
					if ($dataCadastroMes1 != $_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroMes1']) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroMes1']	=	$dataCadastroMes1;
					}
					
					if ($dataCadastroAno1 != $_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroAno1']) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroAno1']	=	$dataCadastroAno1;
					}
					
					if ($dataCadastroDia2 != $_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroDia2']) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroDia2']	=	$dataCadastroDia2;
					}
					
					if ($dataCadastroMes2 != $_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroMes2']) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroMes2']	=	$dataCadastroMes2;
					}
					
					if ($dataCadastroAno2 != $_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroAno2']) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroAno2']	=	$dataCadastroAno2;
					}
					
					if ($ultimoLoginDia1 != $_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginDia1']) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginDia1']	=	$ultimoLoginDia1;
					}
					
					if ($ultimoLoginMes1 != $_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginMes1']) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginMes1']	=	$ultimoLoginMes1;
					}
					
					if ($ultimoLoginAno1 != $_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginAno1']) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginAno1']	=	$ultimoLoginAno1;
					}
					
					if ($ultimoLoginDia2 != $_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginDia2']) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginDia2']	=	$ultimoLoginDia2;
					}
					
					if ($ultimoLoginMes2 != $_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginMes2']) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginMes2']	=	$ultimoLoginMes2;
					}
					
					if ($ultimoLoginAno2 != $_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginAno2']) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginAno2']	=	$ultimoLoginAno2;
					}
					
					if ($strNivel != $_SESSION['constructore']['buscaAvancadaUsuarios']['nivel']) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['nivel']	=	$strNivel;
					}
					
					if ($strCursoGraduacao != codificaString($_SESSION['constructore']['buscaAvancadaUsuarios']['cursoGraduacao'])) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['cursoGraduacao']	=	$strCursoGraduacao;
					}
					
					if ($intPeriodo != $_SESSION['constructore']['buscaAvancadaUsuarios']['periodo']) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['periodo']	=	$intPeriodo;
					}
					
					if ($strInstituto != codificaString($_SESSION['constructore']['buscaAvancadaUsuarios']['instituto'])) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['instituto']	=	$strInstituto;
					}
					
					if ($strDepartamento != codificaString($_SESSION['constructore']['buscaAvancadaUsuarios']['departamento'])) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['departamento']	=	$strDepartamento;
					}
					
					if ($strTitulacao != $_SESSION['constructore']['buscaAvancadaUsuarios']['titulacao']) {
						$_SESSION['constructore']['buscaAvancadaUsuarios']['titulacao']	=	$strTitulacao;
					}
					
					$valida		=	true;
					if (!validaDataString($dataCadastro1) && strlen(str_replace('-', '', $dataCadastro1)) != 0) {
						$valida 		=	false;
						$strMensagem 	=	'Preencha corretamente a primeira data do campo <span class="negrito">Data de Cadastro</span>.';
						$_SESSION['constructore']['mensagens']['erroDataCadastro1']	=	$strMensagem;
					}
					
					if (!validaDataString($dataCadastro2) && strlen(str_replace('-', '', $dataCadastro2)) != 0) {
						$valida 		=	false;
						$strMensagem 	=	'Preencha corretamente a segunda data do campo <span class="negrito">Data de Cadastro</span>.';
						$_SESSION['constructore']['mensagens']['erroDataCadastro2']	=	$strMensagem;
					}
					
					if (strlen(str_replace('-', '', $dataCadastro1)) != 0 && strlen(str_replace('-', '', $dataCadastro2)) != 0 && comparaDatasString($dataCadastro1, $dataCadastro2) == -1) {
						$valida 		=	false;
						$strMensagem 	=	'Preencha um intervalo válido de <span class="negrito">Data de Cadastro</span>.';
						$_SESSION['constructore']['mensagens']['erroIntervaloCadastro']	=	$strMensagem;
					}
					
					if (!validaDataString($ultimoLogin1) && strlen(str_replace('-', '', $ultimoLogin1)) != 0) {
						$valida 		=	false;
						$strMensagem 	=	'Preencha corretamente a primeira data do campo <span class="negrito">Último Login</span>.';
						$_SESSION['constructore']['mensagens']['erroUltimoLogin1']	=	$strMensagem;
					}
					
					if (!validaDataString($ultimoLogin2) && strlen(str_replace('-', '', $ultimoLogin2)) != 0) {
						$valida 		=	false;
						$strMensagem 	=	'Preencha corretamente a segunda data do campo <span class="negrito">Último Login</span>.';
						$_SESSION['constructore']['mensagens']['erroUltimoLogin2']	=	$strMensagem;
					}
					
					if (strlen(str_replace('-', '', $ultimoLogin1)) != 0 && strlen(str_replace('-', '', $ultimoLogin2)) != 0 && comparaDatasString($ultimoLogin1, $ultimoLogin2) == -1) {
						$valida 		=	false;
						$strMensagem 	=	'Preencha um intervalo válido de <span class="negrito">Último Login</span>.';
						$_SESSION['constructore']['mensagens']['erroIntervaloUltimoLogin']	=	$strMensagem;
					}
					$strBusca 	=	urldecode(PARAMETRO_6);
				}
				else {
					redireciona(array('404'));
					exit;
				}
			}
		}
		else {
			$strBusca 	=	null;
			unset($_SESSION['constructore']['buscaAdministracaoUsuarios']);
		}
		
		$this->getRegistro()->set('strInputBuscaUsuarios', $strInputBuscaUsuarios);
		
		$ordemNova 	=	$ordem	==	'asc' ? 'desc' : 'asc';
		
		$this->getRegistro()->set('mostraAutorizar', false);
		$this->getRegistro()->set('mostraTipo', false);
		$this->getRegistro()->set('filtro', $filtro);
		
		switch ($filtro) {
			case "todos":
				$this->getRegistro()->set('mostraTipo', true);
				break;
			
			case "professores":
				$this->getRegistro()->set('mostraAutorizar', true);
				break;
				
			case "alunos":
				break;
				
			case "novosprofessores":
				$this->getRegistro()->set('mostraAutorizar', true);
				break;
				
			case "busca":
				$this->getRegistro()->set('mostraTipo', true);
				$this->getRegistro()->set('strBusca', $strBusca);
				break;
				
			case "buscaavancada":
				$this->getRegistro()->set('mostraBuscaAvancada', true);
				$this->getRegistro()->set('mostraTipo', true);
				
				if (defined('PARAMETRO_6')) {
					$tipoCadastro 	=	$_GET['tipocadastro'];
				}
				else {
					$tipoCadastro 	=	'qualquer';
				}
				
				if ($tipoCadastro == 'novoprofessor') {
					$this->getRegistro()->set('mostraAutorizar', true);
				}
				
				if (isset($_SESSION['constructore']['buscaAvancadaUsuarios'])) {
					$this->getRegistro()->set('nome', $_SESSION['constructore']['buscaAvancadaUsuarios']['nome']);
					$this->getRegistro()->set('email', $_SESSION['constructore']['buscaAvancadaUsuarios']['email']);
					$this->getRegistro()->set('foto', $_SESSION['constructore']['buscaAvancadaUsuarios']['foto']);
					$this->getRegistro()->set('sexo', $_SESSION['constructore']['buscaAvancadaUsuarios']['sexo']);
					$this->getRegistro()->set('estado', $_SESSION['constructore']['buscaAvancadaUsuarios']['estado']);
					$this->getRegistro()->set('cursoConstructore', $_SESSION['constructore']['buscaAvancadaUsuarios']['cursoConstructore']);
					$this->getRegistro()->set('instituicao', $_SESSION['constructore']['buscaAvancadaUsuarios']['instituicao']);
					$this->getRegistro()->set('tipoCadastro', $_SESSION['constructore']['buscaAvancadaUsuarios']['tipoCadastro']);
					$this->getRegistro()->set('dataCadastroDia1', $_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroDia1']);
					$this->getRegistro()->set('dataCadastroMes1', $_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroMes1']);
					$this->getRegistro()->set('dataCadastroAno1', $_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroAno1']);
					$this->getRegistro()->set('dataCadastroDia2', $_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroDia2']);
					$this->getRegistro()->set('dataCadastroMes2', $_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroMes2']);
					$this->getRegistro()->set('dataCadastroAno2', $_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroAno2']);
					$this->getRegistro()->set('ultimoLoginDia1', $_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginDia1']);
					$this->getRegistro()->set('ultimoLoginMes1', $_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginMes1']);
					$this->getRegistro()->set('ultimoLoginAno1', $_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginAno1']);
					$this->getRegistro()->set('ultimoLoginDia2', $_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginDia2']);
					$this->getRegistro()->set('ultimoLoginMes2', $_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginMes2']);
					$this->getRegistro()->set('ultimoLoginAno2', $_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginAno2']);
					
					if ($tipoCadastro != 'qualquer') {
						if ($tipoCadastro == 'aluno') {
							$this->getRegistro()->set('nivel', $_SESSION['constructore']['buscaAvancadaUsuarios']['nivel']);
							$this->getRegistro()->set('cursoGraduacao', $_SESSION['constructore']['buscaAvancadaUsuarios']['cursoGraduacao']);
							$this->getRegistro()->set('periodo', $_SESSION['constructore']['buscaAvancadaUsuarios']['periodo']);
						}
						else {
							$this->getRegistro()->set('instituto', $_SESSION['constructore']['buscaAvancadaUsuarios']['instituto']);
							$this->getRegistro()->set('departamento', $_SESSION['constructore']['buscaAvancadaUsuarios']['departamento']);
							$this->getRegistro()->set('titulacao', $_SESSION['constructore']['buscaAvancadaUsuarios']['titulacao']);
						}
					}
				}
				
				if (!defined('PARAMETRO_6')) {
					$filtro 	=	'todos';
				}
				else {
					$strBusca 	=	PARAMETRO_6;
				}
				$this->getRegistro()->set('strBusca', $strBusca);
				break;
			
			default:
				redireciona(array("404"));
				exit;
				break;
		}
		
		$this->getRegistro()->set('ordemNome', 'asc');
		$this->getRegistro()->set('ordemTipo', 'asc');
		$this->getRegistro()->set('ordemCadastro', 'asc');
		$this->getRegistro()->set('ordena', $ordena);
		$this->getRegistro()->set('ordemAtual', $ordem);
		
		switch ($ordena) {
			case 'ordenanome':
				$this->getRegistro()->set('ordemNome', $ordemNova);
				break;
				
			case 'ordenatipo':
				$this->getRegistro()->set('ordemTipo', $ordemNova);
				break;
				
			case 'ordenacadastro':
				$this->getRegistro()->set('ordemCadastro', $ordemNova);
				break;
			
			default:
				redireciona(array('404'));
				exit;
				break;
		}
		if ($filtro == 'buscaavancada') {
			if ($valida) {
				$resultadoBusca 	=	Usuario::buscaAvancada($ordena, $ordem, $paginaAtual, $strNome, $strEmail, $comFoto, $strSexo, $strEstado, $strCursoConstructore, $strInstituicao, $tipoCadastro, $dataCadastro1, $dataCadastro2, $ultimoLogin1, $ultimoLogin2, $strNivel, $strCursoGraduacao, $intPeriodo, $strInstituto, $strDepartamento, $strTitulacao);
			}
			else {
				$this->exibir('administracaousuarios.php');
				exit;
			}
		}
		else {
			$resultadoBusca		=	Usuario::buscaSimples($filtro, $ordena, $ordem, $paginaAtual, $strBusca);
		}
		
		$listaUsuarios 		=	$resultadoBusca['listaUsuarios'];
		$qtdUsuarios 		=	$resultadoBusca['qtdUsuarios'];
		$qtdPaginas 		=	$resultadoBusca['qtdPaginas'];
		
		$this->getRegistro()->set('qtdUsuarios', $qtdUsuarios);
		$this->getRegistro()->set('qtdPaginas', $qtdPaginas);
		$this->getRegistro()->set('paginaAtual', $paginaAtual);
		
		if (!is_array($listaUsuarios)) {
			redireciona(array("administracao"));
			exit;
		}
		else {
			$this->getRegistro()->set('listaUsuarios', $listaUsuarios);
		}
		$this->exibir('administracaousuarios.php');
    }
	else {
		$selecionados	=	0;
		if (isset($_POST['btnApagarUsuario'])) {
			$apagados 	=	0;
			foreach($_POST as $chave => $idUsuario) {
				if (preg_match('/^checkUsuario[0-9]+$/', $chave) && $idUsuario != $this->getUsuario()->getIdUsuario()) {
					if (Usuario::apagar($idUsuario)) {
						$apagados++;
					}
					$selecionados++;
				}
			}
			if ($selecionados > 0 && $apagados == $selecionados) {
				$strMensagem 	=	$selecionados == 1 ? "O Usuário foi apagado com sucesso." : "Os " . $selecionados . " Usuários foram apagados com sucesso.";
				$_SESSION['constructore']['mensagens']['sucessoApagar'] = $strMensagem;
			}
			else {
				if ($selecionados == 0) {
					$strMensagem 	=	"Você não selecionou nenhum Usuário.";
					$_SESSION['constructore']['mensagens']['sucessoApagar'] = $strMensagem;
				}
				else {
					$strMensagem 	=	$selecionados == 1 ? "Não foi possível apagar o Usuário selecionado." : "Não foi possível apagar " . ($selecionados - $apagados) . " dos " . $selecionados . " Usuários selecionados.";
					$_SESSION['constructore']['mensagens']['sucessoApagar'] = $strMensagem;
				}
			}
			redireciona($_SESSION['constructore']['URLOrigem']);
		}
		else {
			if (isset($_POST['btnAutorizarUsuario'])) {
				$autorizados 	=	0;
				foreach($_POST as $chave => $idUsuario) {
					if (preg_match('/^checkUsuario[0-9]+$/', $chave)) {
						if (Usuario::autorizar($idUsuario)) {
							$autorizados++;
						}
						$selecionados++;
					}
				}
				if ($selecionados > 0 && $autorizados == $selecionados) {
					$strMensagem 	=	$selecionados == 1 ? "O Usuário foi autorizado com sucesso." : "Os " . $autorizados . " Usuários foram autorizados com sucesso.";
					$_SESSION['constructore']['mensagens']['sucessoAutorizar'] = $strMensagem;
				}
				else {
					if ($selecionados == 0) {
						$strMensagem 	=	"Você não selecionou nenhum Usuário.";
						$_SESSION['constructore']['mensagens']['sucessoAutorizar'] = $strMensagem;
					}
					else {
						$strMensagem 	=	$selecionados == 1 ? "Não foi possível autorizar o Usuário selecionado." : "Não foi possível autorizar " . ($selecionados - $apagados) . " dos " . $selecionados . " Usuários selecionados.";
						$_SESSION['constructore']['mensagens']['sucessoApagar'] = $strMensagem;
					}
				}
				redireciona($_SESSION['constructore']['URLOrigem']);
			}
			else {
				if (isset($_POST['inputBuscarUsuarios'])) {
					$strBusca 	=	$_POST['inputBuscarUsuarios'];
					if ($strBusca != '') {
						$_SESSION['constructore']['buscaAdministracaoUsuarios']	=	$strBusca;
						$URLBusca	=	codificaString($strBusca);
						redireciona(array('administracao', 'usuarios', 'busca', 'ordenanome', 'asc', 'pagina1', $URLBusca));
						exit;
					}
					else {
						$strMensagem 	=	'Você deve preencher o campo Buscar para fazer uma pesquisa.';
						$_SESSION['constructore']['mensagens']['buscaVazia'] = $strMensagem;
						redireciona($_SESSION['constructore']['URLOrigem']);
						exit;
					}
				}
				else {
					
					/*
					 * DADOS GERAIS
					 */
					
					$strNome				=	codificaString($_POST['inputNome']);
					$strEmail				=	codificaString($_POST['inputEmail']);
					$comFoto				=	isset($_POST['checkFoto']) ? 'true' : 'false';
					$strSexo				=	isset($_POST['inputSexo']) ? strtolower($_POST['inputSexo']) : '';
					$strEstado				=	codificaString($_POST['selectEstado']);
					$strCursoConstructore	=	codificaString($_POST['inputCursoConstructore']);
					$strInstituicao			=	codificaString($_POST['inputInstituicao']);
					$tipoCadastro			=	$_POST['selectTipoCadastro'];
					$dataCadastroDia1		=	$_POST['inputDataCadastroDia1'];
					$dataCadastroMes1		=	$_POST['inputDataCadastroMes1'];
					$dataCadastroAno1		=	$_POST['inputDataCadastroAno1'];
					$dataCadastroDia2		=	$_POST['inputDataCadastroDia2'];
					$dataCadastroMes2		=	$_POST['inputDataCadastroMes2'];
					$dataCadastroAno2		=	$_POST['inputDataCadastroAno2'];
					$ultimoLoginDia1		=	$_POST['inputUltimoLoginDia1'];
					$ultimoLoginMes1		=	$_POST['inputUltimoLoginMes1'];
					$ultimoLoginAno1		=	$_POST['inputUltimoLoginAno1'];
					$ultimoLoginDia2		=	$_POST['inputUltimoLoginDia2'];
					$ultimoLoginMes2		=	$_POST['inputUltimoLoginMes2'];
					$ultimoLoginAno2		=	$_POST['inputUltimoLoginAno2'];
					
					$_SESSION['constructore']['buscaAvancadaUsuarios']['nome']				=	$_POST['inputNome'];
					$_SESSION['constructore']['buscaAvancadaUsuarios']['email']				=	$_POST['inputEmail'];
					$_SESSION['constructore']['buscaAvancadaUsuarios']['foto']				=	$comFoto;
					$_SESSION['constructore']['buscaAvancadaUsuarios']['sexo']				=	$strSexo;
					$_SESSION['constructore']['buscaAvancadaUsuarios']['estado']			=	$strEstado;
					$_SESSION['constructore']['buscaAvancadaUsuarios']['cursoConstructore']	=	$_POST['inputCursoConstructore'];
					$_SESSION['constructore']['buscaAvancadaUsuarios']['instituicao']		=	$_POST['inputInstituicao'];
					$_SESSION['constructore']['buscaAvancadaUsuarios']['tipoCadastro']		=	$tipoCadastro;
					$_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroDia1']	=	$dataCadastroDia1;
					$_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroMes1']	=	$dataCadastroMes1;
					$_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroAno1']	=	$dataCadastroAno1;
					$_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroDia2']	=	$dataCadastroDia2;
					$_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroMes2']	=	$dataCadastroMes2;
					$_SESSION['constructore']['buscaAvancadaUsuarios']['dataCadastroAno2']	=	$dataCadastroAno2;
					$_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginDia1']	=	$ultimoLoginDia1;
					$_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginMes1']	=	$ultimoLoginMes1;
					$_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginAno1']	=	$ultimoLoginAno1;
					$_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginDia2']	=	$ultimoLoginDia2;
					$_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginMes2']	=	$ultimoLoginMes2;
					$_SESSION['constructore']['buscaAvancadaUsuarios']['ultimoLoginAno2']	=	$ultimoLoginAno2;
					
					if ($dataCadastroAno1 != '' && $dataCadastroMes1 != '' && $dataCadastroDia1 != '') {
						$dataCadastro1 	=	$dataCadastroAno1 . '-' . $dataCadastroMes1 . '-' . $dataCadastroDia1;
					}
					else {
						$dataCadastro1 	=	'';
					}
					
					if ($dataCadastroAno2 != '' && $dataCadastroMes2 != '' && $dataCadastroDia2 != '') {
						$dataCadastro2 	=	$dataCadastroAno2 . '-' . $dataCadastroMes2 . '-' . $dataCadastroDia2;
					}
					else {
						$dataCadastro2 	=	'';
					}
					
					if ($ultimoLoginAno1 != '' && $ultimoLoginMes1 != '' && $ultimoLoginDia1 != '') {
						$ultimoLogin1 	=	$ultimoLoginAno1 . '-' . $ultimoLoginMes1 . '-' . $ultimoLoginDia1;
					}
					else {
						$ultimoLogin1 	=	'';
					}
					
					if ($ultimoLoginAno2 != '' && $ultimoLoginMes2 != '' && $ultimoLoginDia2 != '') {
						$ultimoLogin2 	=	$ultimoLoginAno2 . '-' . $ultimoLoginMes2 . '-' . $ultimoLoginDia2;
					}
					else {
						$ultimoLogin2 	=	'';
					}
					
					
					/*
					 * DADOS ALUNOS
					 */
					
					$strNivel			=	codificaString($_POST['selectNivel']);
					$strCursoGraduacao 	=	codificaString($_POST['inputCursoGraduacao']);
					$intPeriodo			=	codificaString($_POST['selectPeriodo']);
					
					$_SESSION['constructore']['buscaAvancadaUsuarios']['nivel']				=	$_POST['selectNivel'];
					$_SESSION['constructore']['buscaAvancadaUsuarios']['cursoGraduacao']	=	$_POST['inputCursoGraduacao'];
					$_SESSION['constructore']['buscaAvancadaUsuarios']['periodo']			=	$_POST['selectPeriodo'];
					
					/*
					 * DADOS PROFESSORES
					 */
					
					$strInstituto		=	codificaString($_POST['inputInstituto']);
					$strDepartamento	=	codificaString($_POST['inputDepartamento']);
					$strTitulacao		=	codificaString($_POST['selectTitulacao']);
					
					$_SESSION['constructore']['buscaAvancadaUsuarios']['instituto']			=	$_POST['inputInstituto'];
					$_SESSION['constructore']['buscaAvancadaUsuarios']['departamento']		=	$_POST['inputDepartamento'];
					$_SESSION['constructore']['buscaAvancadaUsuarios']['titulacao']			=	$_POST['selectTitulacao'];
					
					$strBusca 	=	'?nome=' . $strNome . '&email=' . $strEmail . '&foto=' . $comFoto . '&sexo=' . $strSexo . '&estado=' . $strEstado . '&cursoconstructore=' . $strCursoConstructore . '&instituicao=' . $strInstituicao . '&tipocadastro=' . $tipoCadastro . '&datacadastro1=' . $dataCadastro1 . '&datacadastro2=' . $dataCadastro2 . '&ultimologin1=' . $ultimoLogin1 . '&ultimologin2=' . $ultimoLogin2;
					
					if ($tipoCadastro == 'qualquer') {
						if ($strInstituto != '' || $strDepartamento != '' || $strTitulacao != '' || $strNivel != '' || $strCursoGraduacao != '' || $intPeriodo != '') {
							$_SESSION['constructore']['mensagens']['buscaInvalida']	=	"Você não especificou o tipo de usuários que está buscando, dados específicos de Alunos e Professores foram ignorados.";
						}
					}
					else {
						if ($tipoCadastro == 'aluno') {
							if ($strInstituto != '' || $strDepartamento != '' || $strTitulacao != '') {
								$_SESSION['constructore']['mensagens']['buscaInvalida']	=	"Você selecionou buscar por Alunos, os dados de Professores foram ignorados.";
							}
							$strBusca 	.=	'&nivel=' . $strNivel . '&cursograduacao=' . $strCursoGraduacao . '&periodo=' . $intPeriodo;
						}
						else {
							if ($strNivel != '' || $strCursoGraduacao != '' || $intPeriodo != '') {
								switch ($tipoCadastro) {
									case 'professor':
										$tipoBusca	=	"Professores";
										break;
									case 'novoprofessor':
										$tipoBusca	=	"Novos Professores";
										break;
									case 'administrador':
										$tipoBusca	=	"Administradores";
										break;
								}
								$_SESSION['constructore']['mensagens']['buscaInvalida']	=	"Você selecionou buscar por " . $tipoBusca . ", os dados de Alunos foram ignorados.";
							}
							$strBusca 	.=	'&instituto=' . $strInstituto . '&departamento=' . $strDepartamento . '&titulacao=' . $strTitulacao;
						}
					}
					
					redireciona(array('administracao', 'usuarios', 'buscaavancada', 'ordenanome', 'asc', 'pagina1', $strBusca));
				}
			}
		}
	}
?>